package hao.itheima.controller;

import hao.itheima.entity.Emp;
import hao.itheima.entity.EmpLoginInfo;
import hao.itheima.entity.Result;
import hao.itheima.service.EmpService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@Slf4j
@RestController
public class LoginController {

    //1、依赖注入
    @Autowired
    private EmpService empService;

    /**
     * 员工登录
     *
     * @param emp
     * @return
     */
    @PostMapping("/login") // 有时候前面的/不写也可以, 写上更加方便
    //为什么使用员工进行接受, 因为最终查询的是员工
    public Result login(@RequestBody Emp emp) {
        //1.日志输出
        log.info("员工登录:{}", emp);
        //2.调用service层进行业务处理 -- 新增一个类进行封装结果
        EmpLoginInfo empLoginInfo = empService.login(emp);
        //3.返回结果
        //进行null判断
        if (empLoginInfo == null) {
            return Result.error("用户名或密码有误");
        }
        return Result.success(empLoginInfo);
    }
}
